export default () => {
  // 定位点
  const newPoint = ({ lat, lng }) => {
    return new egis.sfs.Point({
      spatialReference: egis.sfs.EnumSpatialReference.EPSG4490,
      x: lng,
      y: lat
    });
  }

  // 标记点
  const newMarker = ({ lat, lng }) => {
    // 创建一个空的点对象
    let point = newPoint({ lat, lng });
    //创建简单点符号
    let markerSymbol = new egis.sfs.SimpleMarkerSymbol({
      fillColor: new egis.sfs.Color({r:255,g:0,b:0,a:255}),
      borderColor: new egis.sfs.Color({r:0,g:0,b:0,a:255}),
      size: 6,
      borderThickness: 1,
      style: 'circle'
    });
    //构造一个空的点元素对象
    var pointElement = new egis.sfs.Element({
      geometry: point,
      symbol: markerSymbol
    });

    return pointElement
  }

  // 标记点
  const newImgMarker = ({ lat, lng }, options = {}) => {
    // 创建一个空的点对象
    let point = newPoint({ lat, lng });
    //创建简单点符号
    var markerSymbol = new egis.sfs.PictureMarkerSymbol({
      source: '/images/point.png',//图片源
      width: 32,//宽度
      height: 32,//高度
      offsetX: 16,//水平方向偏移量
      offsetY: 32,//垂直方向偏移量
      opacity: 1,//显示图片的透明度，默认初始化为1
      rotation: 0,//图片旋转角度，默认初始化为0
      ...options
    });
    //构造一个空的点元素对象
    var pointElement = new egis.sfs.Element({
      geometry: point,
      symbol: markerSymbol
    });

    return pointElement
  }

  return {
    newMarker,
    newImgMarker
  }
}